In today's information age, communication networks are often used for interconnecting computers and computer peripherals. A communication network typically includes a number of nodes that interoperate to route protocol messages. The various nodes in the communication network utilize various routing protocols in order to determine the routes that are used to route the protocol messages.
One type of routing protocol, known as a “link state” routing protocol, determines routes based upon the status of communication links between the various nodes. A link state routing protocol, such as the Open Shortest Path First (OSPF) routing protocol, requires each node to have complete topology information. The various nodes in the communication network exchange link state information by sending link state advertisement (LSA) protocol messages at various times.
Another type of routing protocol, known as a “distance vector” routing protocol, determines routes based upon the “distance” between the various nodes. A distance vector routing protocol, such as the Routing Information Protocol (RIP), requires each node to determine its distance to each destination in the communication network. Each node advertises its distance-vector information by periodically broadcasting its distance-vector information to the other nodes in the communication network.
In a typical communication network, it is often the case that there are multiple possible routes from a particular node to a particular destination. When there are multiple possible routes from the node to the destination, one of the routes is selected as the preferred route based upon a predetermined priority scheme. The preferred route is used to route protocol messages to the destination.
During normal operation of the communication network, it is possible for the preferred route to fail. When the preferred route fails, the node must compute a new route to the destination. Protocol messages processed prior to computing the new route are dropped.